/*
*	Project: Aethon
*
*	File: CollisionSphere.h
*
*	Author: Jonathan Hersack
*
*	Date: 2/15/2009
*
*   Purpose: The CollisionSphere contains the relative postion and radius of the sphere 
*   from the model coordinates. It also contains flags for the visibilty and collision
*/

#ifndef COLLISIONSPHERE_H_
#define COLLISIONSPHERE_H_

#include "../include/vector3f.h"

class CollisionSphere{

    vector3f relativePosition;
    float radius;
    bool hasVisibility;
    bool hasCollisions;  
	
	public:
	
	CollisionSphere(){
		
	}//end constructor
	
	void display();
	
	int collidesWith(CollisionSphere sphere);
	
	//gets and sets-----------------------------------------------------------
   	
  	void setRelativePosition(vector3f pos)
	{
        relativePosition = pos;
    }//end setRelativePosition
	
	vector3f getRelativePosition()
	{
         return relativePosition;
    }//end getRelativePosition 
       
    void setRadius(float r)
	{
         radius = r;
    }//end setradius
    
	float getRadius()
	{
         return radius;
    }//end getradius
    	
	void setHasVisibility(bool vis)
	{
         hasVisibility = vis;
    }//end setVis
    
	bool getHasVisibility()
	{
         return hasVisibility;
    }//end getVisibility
    
    
   	void setHasCollsions(bool collision)
	{
         hasCollisions = collision;
    }//end setcollisions
	
	bool getHasCollisions()
	{
         return hasCollisions;
    }//end getcollisions
    
    	
};//end class

#endif //COLLISIONSPHERE_H_

